home *** CD-ROM | disk | FTP | other *** search
/ Amiga Collections: Taifun / Taifun 099 (1989-05-15)(Ossowski, Stefan)(DE)(PD).zip / Taifun 099 (1989-05-15)(Ossowski, Stefan)(DE)(PD).adf / PCQ / Source / Pasconst.i < prev    next >
Text File  |  1989-03-31  |  3KB  |  146 lines

  1.  
  2. {
  3.     pasconst.i (of PCQ Pascal)
  4.     Copyright (c) 1989 Patrick Quaid.
  5.  
  6.     These are the constants required for the compiler.  Some of
  7. these lists should become enumerated types, but I didn't want to
  8. foul up the rampant overloading.
  9. }
  10.  
  11.  
  12.     symtablesize    = 2000;        { number of id's in table }
  13.     spellsize    = 10000;    { room for id names }
  14.     literalsize    = 5000;        { room for character literals }
  15.  
  16.     linesize    = 128;        { vestigal, I think }
  17.     eqsize        = 127;        { size of the error buffer }
  18.  
  19. {
  20.     These are for the object field of idrecords.  Note that it
  21. turns out enum is not used.  Enumerations are just constants now.
  22. }
  23.  
  24.     global        = 1;
  25.     local        = 2;
  26.     refarg        = 3;
  27.     valarg        = 4;
  28.     proc        = 5;
  29.     func        = 6;
  30.     obtype        = 7;
  31.     field        = 8;
  32.     enum        = 9;
  33.     stanproc    = 10;
  34.     stanfunc    = 11;
  35.     constant    = 12;
  36.  
  37.  
  38. {
  39.     These are for the offset fields of types, and tell what
  40. type of type it is.  The odd naming convention is left over from
  41. Small-C.
  42. }
  43.  
  44.     varray        = 1;
  45.     vset        = 2;
  46.     vrecord        = 3;
  47.     vordinal    = 4;
  48.     vpointer    = 5;
  49.     venumer        = 6;
  50.     vsubrange    = 7;
  51.     vsynonym    = 8;
  52.     vfile        = 9;
  53.     vreal        = 10;
  54.  
  55. {
  56.     These are the symbol numbers.  Note that the first 40 or so
  57. correspond to the appropriate entries in the reserved array.
  58. }
  59.  
  60.     unknown1    = 0;
  61.     and1        = 1;
  62.     array1        = 2;
  63.     begin1        = 3;
  64.     by1        = 4;
  65.     case1        = 5;
  66.     const1        = 6;
  67.     div1        = 7;
  68.     do1        = 8;
  69.     downto1        = 9;
  70.     else1        = 10;
  71.     end1        = 11;
  72.     extern1        = 12;
  73.     file1        = 13;
  74.     for1        = 14;
  75.     forward1    = 15;
  76.     func1        = 16;
  77.     goto1        = 17;
  78.     if1        = 18;
  79.     in1        = 19;
  80.     label1        = 20;
  81.     mod1        = 21;
  82.     not1        = 22;
  83.     of1        = 23;
  84.     or1        = 24;
  85.     packed1        = 25;
  86.     private1    = 26;
  87.     proc1        = 27;
  88.     program1    = 28;
  89.     record1        = 29;
  90.     repeat1        = 30;
  91.     return1        = 31;
  92.     set1        = 32;
  93.     then1        = 33;
  94.     to1        = 34;
  95.     type1        = 35;
  96.     until1        = 36;
  97.     var1        = 37;
  98.     while1        = 38;
  99.     with1        = 39;
  100.  
  101.     lastreserved    = 39;
  102.  
  103. {
  104.     The following symbols represent everything but the reserved
  105. words.  Some of these are left over from when I needed C stuff, and
  106. I left them in for when I re-implement it....
  107. }
  108.  
  109.     ident1        = 45;
  110.     numeral1    = 46;
  111.     asterisk1    = 47;
  112.     becomes1    = 48;
  113.     colon1        = 49;
  114.     comma1        = 50;
  115.     dotdot1        = 51;
  116.     endtext1    = 52;
  117.     equal1        = 53;
  118.     greater1    = 54;
  119.     leftbrack1    = 55;
  120.     leftparent1    = 56;
  121.     less1        = 57;
  122.     minus1        = 58;
  123.     newline1    = 59;
  124.     notequal1    = 60;
  125.     notgreater1    = 61;
  126.     notless1    = 62;
  127.     period1        = 63;
  128.     plus1        = 64;
  129.     rightbrack1    = 65;
  130.     rightparent1    = 66;
  131.     semicolon1    = 67;
  132.     leftcurl1    = 68;
  133.     rightcurl1    = 69;
  134.     quote1        = 70;
  135.     apostrophe1    = 71;
  136.     carat1        = 72;
  137.     pound1        = 73;
  138.     incr1        = 74;
  139.     decr1        = 75;
  140.     shiftleft1    = 76;
  141.     shiftright1    = 77;
  142.     ampersand1    = 78;
  143.     realdiv1    = 79;
  144.     realnumeral1    = 80;
  145.  
  146.